<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <!-- 
        1. 继承
            通过实例化原型对象, 产生不同的子对象, 每个子对象都会继承原型的属性和方法.
            每个子对象都是互不影响

        2. 原型链
            在原型对象上进行添加属性or方法, 影响到所有从原型new出去的对象
            格式: 
                原型对象.prototyep.属性名 = 属性值
                原型对象.prototype.方法名 = function(){  }
     -->

    <script>
        function Dog(){
            this.type = '哈士奇';
            this.skill = function(){
                console.log('拆家');
            }
        }


        var obj1 = new Dog();
        obj1.name = '波波';

        var obj2 = new DOg();
        obj2.name = '鹏鹏';
        console.log(obj1, obj2);


        Dog.prototype.skill2 = function(){
            console.log('修电脑');
        }

        var obj3 = new Dog();
        obj3.name = '小豪';
        console.log(obj3);
        obj3.skill2();
        obj1.skill2();
        obj2.skill2();
        console.log('------------------');
    </script>
</body>
</html>